#ifndef _FSYSTEM_H_
#define _FSYSTEM_H_

class IFile;

class CFileSys
{
public:
	static const int READ = 0x01;
	static const int WRITE = 0x02;
	static const int TEXT = 0x04;
	static const int UNICODE = 0x08;
	static const int ASCII = 0x10;

	CFileSys();
	~CFileSys();

	void AddPath(char* path);

	IFile* Open(char* fname, int flags);
	void Close(IFile* file);
};


class IFile
{
public:
	virtual int GetSize() = 0;
	virtual bool Read(void* data, int count) = 0;
	virtual bool Write(void* data, int count) = 0;
};


#endif //_FSYSTEM_H_